home *** CD-ROM | disk | FTP | other *** search
- vs.1.1
-
- ;dx9 stuff
- ;********
- ;dcl_position v0
- ;dcl_blendweight v1
- ;dcl_blendindices v2
- ;dcl_normal v3
- ;dcl_binormal v4
- ;dcl_tangent v5
- ;dcl_texcoord0 v7
-
- ;Constant map from the NSF.
- ;
- ;CM_Defined WorldViewProjTranspose 0 0
- ;CM_Constant const_1_1_1_255 4 1 1.0,1.0,1.0,765.01
- ;CM_Global DirLight1Direction 5 1
- ;CM_Global DaCameraPosition 6 1
- ;CM_Constant Half 7 1 0.5,0.5,0.5,0.5
- ;CM_Defined InvWorldTranspose 8 0
-
-
- m4x4 oPos, v0, c0
-
- ; Find light vector in object space
- mov r5, c5 ;Get the light direction in world space.
- m3x3 r4, r5, c8 ;Transform to object space with inverse world mat
-
- ; Normalize light vector.
- dp3 r3.x, r4, r4
- rsq r2.x, r3.x
- mul r0, r4.xyz, r2.xxx
-
- dp3 r7.x, r0, v5 ;Tangent
- dp3 r7.y, r0, v4 ;Binormal
- dp3 r7.z, r0, v3 ;Normal
- mad oD0.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
- ;expects a range of 0 to 1.
-
-
- ;Specular calculation
- ;mov r1, v0
-
- m4x4 r1, v0, c16 ; to world
-
- add r5, -r1, c6
- ;mov r5, c6
-
- dp3 r3.x, r5.xyz, r5.xyz
- rsq r3.xyz, r3.x
- mul r5.xyz, r5.xyz, r3.xxx
-
- add r2.xyz, r5.xyz, c5 ;L + V
-
- dp3 r4.x, r2.xyz, r2.xyz ;normalize inv view vec
- rsq r4.xyz, r4.x
- mul r2.xyz, r2.xyz, r4.xyz
-
- ;mov r4, r5
- m3x3 r4, r2, c8 ;Transform to object space with inverse world mat
-
- ; Normalize light vector.
- dp3 r3.x, r4.xyz, r4.xyz
- rsq r3.xyz, r3.x
- mul r4.xyz, r4.xyz, r3.xxx
-
- dp3 r7.x, r4, v5 ;Tangent
- dp3 r7.y, r4, v4 ;Binormal
- dp3 r7.z, r4, v3 ;Normal
- mad oD1.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
-
- ;mov r2, -c6 ;find inv view vector
-
- ;m3x3 r4, r2, c8 ;Transform to object space with inverse world mat
-
- ;dp3 r3.x, r2, r2
- ;rsq r2.x, r3.x
- ;mul r3, r2.xyz, r2.xxx
-
-
- ;add r2.xyz, r3.xyz, r0 ;L + V
-
- ;dp3 r4.x, r2.xyz, r2.xyz ;normalize inv view vec
- ;rsq r4.xyz, r4.x
- ;mul r2.xyz, r2.xyz, r4.xyz
-
-
- ;r2 now holds the view vector. We need to get the half vector.
- ;add r3.xyz, r2.xyz, c5 ;L + V
- ;m3x3 r3, r3, c8
- ;dp3 r8.x, v5, r3 ;Tangent
- ;dp3 r8.y, v4, r3 ;Binormal
- ;dp3 r8.z, v3, r3 ;Normal
-
- ;mad oD1.xyz, r7.xyz, c7, c7
-
-
-
-
- ;Ambient Lighting - rest will be done in ps
- ;mov r1, c10 ;Move in the ambient material so we can multiply
- ;mul oD0, r1, c9 ;Modulate the ambient light by material
-
- ; Texture coordinates for the base map and normal map and gloss.
- mov oT0.xy, v7.xy
- mov oT1.xy, v7.xy
- mov oT2.xy, v7.xy
-
-
-
-